package innerclass;

public class Test {
    public static void main(String[] args) {
        Car car = new Car();
        car.run();

        // 匿名内部类,使用场景: 只需要使用一次的类
        // 匿名内部类的使用-直接创建对象  不需要创建外部类的对象
        new Swim(){
            @Override
            public void swim() {
                System.out.println("重写了 swim 方法");
            }
        }.swim();
        new Animal(){
            @Override
            public void eat() {
                System.out.println("重写了 eat 方法");
            }
        };
        // 匿名内部类的使用-在 main 方法中直接调用test方法
        test(new Animal() {
            @Override
            public void eat() {
                System.out.println("重写了 eat 方法");
            }
        });
    }
    public static void test(Animal animal) {
        animal.eat();
    }
}
